<?xml version='1.0' encoding='ISO-8859-1' ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"      
      xmlns:p="http://primefaces.org/ui">

    <ui:composition template="/pages/core/plantilla/plantillaPrincipal.xhtml">
        <ui:define name="contenido">             
            <h:form onsubmit="return checkSubmit();"  id="frmPrincipal">
                <p:panel id="pnlPrincipal" header="#{i18n['form.financiamiento.letra.titulo.panel']} - #{i18n['form.financiamiento.letra.informacion.cuenta']}  #{financiamientoLetraMBean.dto.id}" style="#{applicationMBean.estiloTitulo}">                                                
                    <h:panelGrid id="pgFormDto" columns="1" cellpadding="4">                        
                        <h:outputLabel value="#{i18n['form.financiamiento.letra.informacion.girado']}" styleClass="subTitulo"/>
                        <p:separator/>
                        
                        <h:panelGrid id="pgGirado" columns="6" cellpadding="1">     
                            <h:outputText
                                value="#{i18n['form.financiamiento.letra.documento.venta']}"
                                styleClass="label"/>                                                               
                            <p:autoComplete id="idDocumentoVenta" value="#{financiamientoLetraMBean.dto.documentoVentaDto}" completeMethod="#{financiamientoLetraMBean.autoCompletarDocumentosVentas}"
                                            label="#{i18n['form.financiamiento.letra.documento.venta']}"  converter="documentoVentaConvert" disabled="#{sessionMBean.accion==3}"
                                            var="sn" itemLabel="#{sn.id}" itemValue="#{sn}" size="40" required="true" styleClass="txtCampoObligatorio" minQueryLength="3">
                                <p:ajax event="itemSelect" listener="#{financiamientoLetraMBean.documentoVentaSelect}" update=":frmPrincipal:pgFormDto"/>
                                <p:column>  
                                    #{sn.id} ||  #{sn.fechaCreacion} || #{sn.clienteDto.descripcion} || #{sn.nroSerie} || #{sn.numero}
                                </p:column>
                            </p:autoComplete>
                            
                            <h:outputText
                                value="#{i18n['form.financiamiento.letra.fecha.giro']}"
                                styleClass="label"/>
                            <p:calendar value="#{financiamientoLetraMBean.dto.fechaGiro}" timeZone="#{applicationMBean.timeZone}" pattern="#{applicationMBean.formatoFecha}" styleClass="txtCampo" required="true" label="#{i18n['form.financiamiento.letra.fecha.giro']}" disabled="#{financiamientoLetraMBean.dto.documentoVentaDto==null}" >
                                <p:ajax update=":msgs iteSaldoFinanciar iteNuevoSaldoFinanciar iteTem iteTeEspecial iteCuota iteTotalInteres tblPrincipal" listener="#{financiamientoLetraMBean.cambiarFechaGiro}" event="dateSelect"/> 
                            </p:calendar>

                            <h:outputText
                                value="#{i18n['form.financiamiento.letra.girado']}"
                                styleClass="label"/>
                            <h:outputText value="#{financiamientoLetraMBean.dto.girado}"/>                                     

                            <h:outputText
                                value="#{i18n['form.financiamiento.letra.doi']}"
                                styleClass="label"/>
                            <h:outputText value="#{financiamientoLetraMBean.dto.doiGirado}"/>
                            
                            <h:outputText
                                value="#{i18n['form.financiamiento.letra.telefono']}"
                                styleClass="label"/>
                            
                            <h:outputText value="#{financiamientoLetraMBean.dto.telefonoGirado}"/>

                            <h:outputText
                                value="#{i18n['form.financiamiento.letra.domicilio.girado']}"
                                styleClass="label"/>

                            <p:inputTextarea id="itDomicilio"  styleClass="txtCampoObligatorio"
                                             value="#{financiamientoLetraMBean.dto.domicilioGirado}" rows="2" cols="50"
                                             required="true" label="#{i18n['form.financiamiento.letra.domicilio.girado']}"
                                             readonly="#{sessionMBean.accion==3}">
                                <f:validateLength maximum="1000" minimum="5"/>
                            </p:inputTextarea>

                            <h:outputText
                                value="#{i18n['form.financiamiento.letra.banco']}"
                                styleClass="label"/>
                            <p:inputText  value="#{financiamientoLetraMBean.dto.banco}" readonly="#{sessionMBean.accion == 3}" size="30"  styleClass="txtCampo"/>
                            
                            <h:outputText
                                value="#{i18n['form.financiamiento.letra.oficina']}"
                                styleClass="label"/>
                            <p:inputText  value="#{financiamientoLetraMBean.dto.oficina}" readonly="#{sessionMBean.accion == 3}" size="30"   styleClass="txtCampo"/>
                            
                            <h:outputText
                                value="#{i18n['form.financiamiento.letra.nro.cuenta']}"
                                styleClass="label"/>
                            <p:inputText  value="#{financiamientoLetraMBean.dto.numeroCuenta}" readonly="#{sessionMBean.accion == 3}" size="30"   styleClass="txtCampo"/>
                            
                            <h:outputText
                                value="#{i18n['form.financiamiento.letra.dc']}"
                                styleClass="label"/>
                            <p:inputText  value="#{financiamientoLetraMBean.dto.dc}" readonly="#{sessionMBean.accion == 3}" size="30"   styleClass="txtCampo"/>

                            <h:outputText value="#{i18n['general.label.comentario']}"
                                          styleClass="label"/>
                            <p:inputTextarea id="itComentario"   styleClass="txtCampoObligatorio"
                                             value="#{financiamientoLetraMBean.dto.comentario}" rows="2" cols="50" 
                                             required="true" requiredMessage="#{i18n['general.label.comentario']} #{i18n['form.general.mensaje.requerido']}"
                                             readonly="#{sessionMBean.accion==3}">
                                <f:validateLength maximum="1000" minimum="5"/>
                            </p:inputTextarea>
                        </h:panelGrid>

                        <h:outputLabel value="#{i18n['form.financiamiento.letra.datos.letras']}" styleClass="subTitulo"/>
                        <p:separator/>
                        <h:panelGrid id="pgLetras" columns="8" cellpadding="1">
                            <h:outputLabel
                                value="#{i18n['form.financiamiento.letra.moneda']}"
                                styleClass="label"/>

                            <p:selectOneMenu value="#{financiamientoLetraMBean.dto.monedaDto}"  converter="monedaConvert"                                                                              
                                             styleClass="txtCampo" disabled="true">
                                <f:selectItems value="#{financiamientoLetraMBean.siMonedas}" var="dto" itemLabel="#{dto.descripcion}" itemValue="#{dto}"/>
                            </p:selectOneMenu>

                            <h:outputText
                                value="#{i18n['form.financiamiento.letra.impuesto.venta']}"
                                styleClass="label"/>
                            <h:outputText value="#{financiamientoLetraMBean.dto.impuestoVenta}">
                                <f:convertNumber pattern="#{applicationMBean.formatoMontos}"/>
                            </h:outputText>

                            <h:outputText
                                value="#{i18n['form.financiamiento.letra.precio.bien']}"
                                styleClass="label"/>
                            <h:outputText value="#{financiamientoLetraMBean.dto.precioBien}">
                                <f:convertNumber pattern="#{applicationMBean.formatoMontos}"/>
                            </h:outputText>

                            <h:outputText
                                value="#{i18n['form.financiamiento.letra.inicial']}"
                                styleClass="label"/>
                            <p:inputText  value="#{financiamientoLetraMBean.dto.inicial}" 
                                          readonly="#{sessionMBean.accion == 3}" 
                                          styleClass="txtCampoObligatorio"
                                          required="true" label="#{i18n['form.financiamiento.letra.inicial']}"
                                          size="15" 
                                          onkeypress="return fn_validaTecla('decimal',this);">
                                <p:ajax update=":msgs iteSaldoFinanciar iteNuevoSaldoFinanciar iteTem iteTeEspecial iteCuota iteTotalInteres tblPrincipal" listener="#{financiamientoLetraMBean.calcularSaldoFinanciar}" /> 
                                <f:convertNumber pattern="#{applicationMBean.formatoMontos}"/>
                                <f:validateDoubleRange maximum="#{financiamientoLetraMBean.dto.precioBien}"/>
                            </p:inputText>

                            <h:outputText
                                value="#{i18n['form.financiamiento.letra.saldo.financiar']}"
                                styleClass="label"/>
                            <h:outputText id="iteSaldoFinanciar" value="#{financiamientoLetraMBean.dto.saldoFinanciar}" styleClass="txtCampo">
                                <f:convertNumber pattern="#{applicationMBean.formatoMontos}"/>
                            </h:outputText>

                            <h:outputText
                                value="#{i18n['form.financiamiento.letra.periodo.gracia']}"
                                styleClass="label"/>
                            <p:inputText  value="#{financiamientoLetraMBean.dto.periodoGracia}"  label="#{i18n['form.financiamiento.letra.periodo.gracia']}"
                                          readonly="#{sessionMBean.accion == 3}"   styleClass="txtCampoObligatorio"
                                          style="#{i18n['form.general.style.obligatorio']}"
                                          required="true" 
                                          size="15"
                                          onkeypress="return fn_validaTecla('entero',this);">
                                <p:ajax update="iteNuevoSaldoFinanciar iteTem iteTeEspecial iteCuota iteTotalInteres tblPrincipal" listener="#{financiamientoLetraMBean.calcularNuevoSaldoFinanciar}"/>
                                <f:validateLongRange minimum="0" maximum="100"/>
                            </p:inputText>

                            <h:outputText
                                value="#{i18n['form.financiamiento.letra.tea']}"
                                styleClass="label"/>
                            <p:inputText  value="#{financiamientoLetraMBean.dto.tea}"
                                          size="15" label="#{i18n['form.financiamiento.letra.tea']}" 
                                          required="true" 
                                          onkeypress="return fn_validaTecla('decimal',this);">
                                <p:ajax update="iteNuevoSaldoFinanciar iteTem iteTeEspecial iteCuota iteTotalInteres tblPrincipal" listener="#{financiamientoLetraMBean.calcularNuevoSaldoFinanciar}"/>
                                <f:convertNumber pattern="#{applicationMBean.formatoMontos}" type="percent"/>
                                <f:validateDoubleRange maximum="100" minimum="0"/>
                            </p:inputText>

                            <h:outputText
                                value="#{i18n['form.financiamiento.letra.nuevo.saldo.financiar']}"
                                styleClass="label"/>

                            <p:inputText id="iteNuevoSaldoFinanciar" value="#{financiamientoLetraMBean.dto.nuevoSaldoFinanciar}"
                                         size="15" label="#{i18n['form.financiamiento.letra.nuevo.saldo.financiar']}"
                                         styleClass="txtCampoObligatorio"
                                         required="true" 
                                         onkeypress="return fn_validaTecla('decimal',this);">
                                <p:ajax update="iteNuevoSaldoFinanciar iteTem iteTeEspecial iteCuota iteTotalInteres tblPrincipal" listener="#{financiamientoLetraMBean.calcularTasas}"/>
                                <f:convertNumber pattern="#{applicationMBean.formatoMontos}"/>
                                <f:validateDoubleRange  minimum="1"/>
                            </p:inputText>

                            <h:outputText
                                value="#{i18n['form.financiamiento.letra.intervalo.cuota']}"
                                styleClass="label"/>
                            <p:inputText  value="#{financiamientoLetraMBean.dto.intervaloDiasCuota}"
                                          readonly="#{sessionMBean.accion == 3}"
                                          styleClass="txtCampoObligatorio" label="#{i18n['form.financiamiento.letra.intervalo.cuota']}"
                                          required="true"
                                          size="15"
                                          onkeypress="return fn_validaTecla('entero',this);">
                                <p:ajax update="iteTem iteTeEspecial iteCuota iteTotalInteres tblPrincipal" listener="#{financiamientoLetraMBean.calcularTasas}"/>
                                <f:validateLongRange maximum="100" minimum="1"/>
                            </p:inputText>

                            <h:outputText
                                value="#{i18n['form.financiamiento.letra.tem']}"
                                styleClass="label"/>
                            <h:outputText id="iteTem"
                                          value="#{financiamientoLetraMBean.dto.tem}"
                                          styleClass="txtCampo">
                                <f:convertNumber pattern="#{applicationMBean.formatoMontos}" type="percent"/>
                            </h:outputText>

                            <h:outputText
                                value="#{i18n['form.financiamiento.letra.te.especial']}"
                                styleClass="label"/>
                            <h:outputText id="iteTeEspecial"
                                          value="#{financiamientoLetraMBean.dto.teEspecial}"
                                          styleClass="txtCampo">
                                <f:convertNumber pattern="#{applicationMBean.formatoMontos}" type="percent"/>
                            </h:outputText>

                            <h:outputText
                                value="#{i18n['form.financiamiento.letra.numero.periodos.letra']}"
                                styleClass="label"/>
                            <p:inputText  value="#{financiamientoLetraMBean.dto.numeroPeriodosLetra}"
                                          readonly="#{sessionMBean.accion == 3}"
                                          styleClass="txtCampoObligatorio"
                                          required="true"
                                          size="15" label="#{i18n['form.financiamiento.letra.numero.periodos.letra']}"
                                          onkeypress="return fn_validaTecla('entero',this);">
                                <p:ajax update="iteCuota iteTotalInteres tblPrincipal" listener="#{financiamientoLetraMBean.calcularCuota}"/>
                                <f:validateLongRange maximum="100" minimum="1"/>
                            </p:inputText>

                            <h:outputText
                                value="#{i18n['form.financiamiento.letra.valor.cuota']}"
                                styleClass="label"/>                            
                            <h:outputText id="iteCuota"
                                           value="#{financiamientoLetraMBean.dto.cuotaIgual}">
                                <f:convertNumber pattern="#{applicationMBean.formatoMontos}"/>
                            </h:outputText>
                            
                            <h:outputText
                                value="#{i18n['form.letra.interes']}"
                                styleClass="label"/>
                            <h:outputText value="#{financiamientoLetraMBean.dto.totalInteres}"
                                           id="iteTotalInteres">
                                <f:convertNumber pattern="#{applicationMBean.formatoMontos}"/>
                            </h:outputText>
                            
                            <h:outputText
                                value="#{i18n['general.label.estado']}"
                                styleClass="label"/>
                            <p:selectOneMenu value="#{financiamientoLetraMBean.dto.estado}"
                                             style="#{applicationMBean.estilo}" styleClass="txtCampo"
                                             disabled="#{sessionMBean.accion == 3}">
                                <f:selectItems value="#{financiamientoLetraMBean.siEstados}"/>
                            </p:selectOneMenu>

                            <h:outputText
                                value="#{i18n['form.financiamiento.letra.print.cuotas.iguales']}"
                                styleClass="label"/> 
                            <p:selectBooleanCheckbox value="#{financiamientoLetraMBean.dto.printCuotasIguales}"  styleClass="txtCampo" disabled="#{catalogoParametroMBean.accionParametro == 3}"/>
                            
                            <h:outputText  value="#{i18n['form.financiamiento.letra.es.agente.retencion']}" styleClass="label"/>
                            <p:selectBooleanCheckbox value="#{financiamientoLetraMBean.dto.esAgenteRetencion}"  styleClass="txtCampo"  disabled="#{sessionMBean.accion == 3}" >
                                <p:ajax listener="#{financiamientoLetraMBean.calcularAgenteRetencion}" update=":frmPrincipal"/>
                            </p:selectBooleanCheckbox>
                        </h:panelGrid>
                        
                        <h:panelGrid id="pgAgenteRetencion" cellpadding="4" columns="6" rendered="#{financiamientoLetraMBean.dto.esAgenteRetencion ==true}">
                            <h:outputText  value="#{i18n['form.financiamiento.letra.porcentaje.retencion']}" styleClass="label"/>
                            <p:inputText value="#{financiamientoLetraMBean.dto.porcentajeRetencion}"
                                         size="15" label="#{i18n['form.financiamiento.letra.porcentaje.retencion']}"
                                         styleClass="txtCampoObligatorio" readonly="#{sessionMBean.accion == 3}"
                                         onkeypress="return fn_validaTecla('decimal',this);">
                                <f:convertNumber pattern="#{applicationMBean.formatoMontos}"/>
                                <f:validateDoubleRange  minimum="1"/>
                                <p:ajax listener="#{financiamientoLetraMBean.calcularAgenteRetencion}" update=":frmPrincipal"/>
                            </p:inputText>
                            
                            <h:outputText  value="#{i18n['form.financiamiento.letra.monto.retencion']}" styleClass="label"/>
                                <p:inputText value="#{financiamientoLetraMBean.dto.montoRetencion}"
                                             size="15" label="#{i18n['form.financiamiento.letra.monto.retencion']}"
                                             styleClass="txtCampoObligatorio" readonly="true"
                                             onkeypress="return fn_validaTecla('decimal',this);">
                                    <f:convertNumber pattern="#{applicationMBean.formatoMontos}"/>
                                </p:inputText>
                                
                                <h:outputText  value="#{i18n['form.financiamiento.letra.saldo.retencion']}" styleClass="label"/>
                                <p:inputText value="#{financiamientoLetraMBean.dto.saldoRetencion}"
                                             size="15" label="#{i18n['form.financiamiento.saldo.monto.retencion']}"
                                             styleClass="txtCampoObligatorio" readonly="true"
                                             onkeypress="return fn_validaTecla('decimal',this);">
                                    <f:convertNumber pattern="#{applicationMBean.formatoMontos}"/>
                            </p:inputText>

                        </h:panelGrid>
                        
                        <f:facet name="footer">
                            <p:commandButton title="#{i18n['general.button.guardar.tip']}" accesskey="#{applicationMBean.keyGuardar}" ajax="false"
                                             icon="ui-icon ui-icon-disk" rendered="#{sessionMBean.accion != applicationMBean.ver &amp;&amp; sessionMBean.privilegiosOpciones['990']=='true'}"
                                         style="#{applicationMBean.estilosBtnGuardar}"
                                         onclick="return confirm('#{i18n.general_mensaje_confirmacion}');"
                                         value="#{i18n['general.button.guardar']}" 
                                         action="#{financiamientoLetraMBean.guardar}">                                    
                            </p:commandButton>
                            
                            <p:commandButton title="#{i18n['general.button.atras.tip']}" accesskey="#{applicationMBean.keyRetroceder}" ajax="false"
                                         icon="ui-icon ui-icon-arrowreturnthick-1-w" immediate="true"
                                         style="#{applicationMBean.estilosBtnRetroceder}"
                                         value="#{i18n['general.button.atras']}" 
                                         action="#{financiamientoLetraMBean.retroceder}">                                    
                            </p:commandButton>
                        </f:facet>
                        
                        <p:dataTable id="tblPrincipal"
                                     var="dto" paginator="true" widgetVar="widTable" paginatorPosition="top"
                                     value="#{financiamientoLetraMBean.dto.listaLetras}"
                                     styleClass="txtCampo"
                                     emptyMessage="#{i18n['form.general.mensaje.no.registros']}">
                            <p:column style="text-align:center;width:60px" styleClass="txtCampo">
                                <f:facet name="header"> 
                                    <h:outputText value="#{i18n['form.letra.nro.letra']}"/>
                                </f:facet>
                                <h:outputText value="#{dto.numero}"/>
                            </p:column>

                            <p:column style="text-align:right;width:100px">
                                <f:facet name="header">
                                    <h:outputText value="#{i18n['form.letra.saldo']}"/>
                                </f:facet>
                                <h:outputText value="#{dto.saldo}">
                                    <f:convertNumber pattern="#{applicationMBean.formatoMontos}"/>
                                </h:outputText>
                            </p:column>

                            <p:column style="text-align:right;width:70px">
                                <f:facet name="header">
                                    <h:outputText value="#{i18n['form.letra.amortizacion']}"/>
                                </f:facet>
                                <h:outputText value="#{dto.amortizacion}">
                                    <f:convertNumber pattern="#{applicationMBean.formatoMontos}"/>
                                </h:outputText>
                            </p:column>

                            <p:column style="text-align:right;width:70px">
                                <f:facet name="header">
                                    <h:outputText value="#{i18n['form.letra.interes']}"/>
                                </f:facet>
                                <h:outputText value="#{dto.interes}">
                                    <f:convertNumber pattern="#{applicationMBean.formatoMontos}"/>
                                </h:outputText>
                            </p:column>

                            <p:column style="text-align:right;width:70px">
                                <f:facet name="header">
                                    <h:outputText value="#{i18n['form.letra.cuota']}"/>
                                </f:facet>
                                <h:outputText value="#{dto.cuota}">
                                    <f:convertNumber pattern="#{applicationMBean.formatoMontos}"/>
                                </h:outputText>
                            </p:column>

                            <p:column style="text-align:right;width:70px;">
                                <f:facet name="header">
                                    <h:outputText value="#{i18n['form.letra.igv.interes']}"/>
                                </f:facet>
                                <h:outputText value="#{dto.impuestoVentaInteres}">
                                    <f:convertNumber pattern="#{applicationMBean.formatoMontos}"/>
                                </h:outputText>
                            </p:column>

                            <p:column style="text-align:right;width:70px">
                                <f:facet name="header">  
                                    <h:outputText value="#{i18n['form.letra.valor.nominal']}" />  
                                </f:facet> 
                                <h:outputText value="#{dto.valorNominal}" >
                                    <f:convertNumber pattern="#{applicationMBean.formatoMontos}"/>
                                </h:outputText>
                            </p:column>

                            <p:column style="text-align:right;width:70px">
                                <f:facet name="header">
                                    <h:outputText value="#{i18n['form.letra.cuota.igual']}"/>
                                </f:facet>
                                <h:outputText value="#{dto.cuotaIgual}">
                                    <f:convertNumber pattern="#{applicationMBean.formatoMontos}"/>
                                </h:outputText>
                            </p:column>
                            
                            <p:column style="text-align:right;width:70px">
                                <f:facet name="header">
                                    <h:outputText value="#{i18n['form.letra.fecha.vencimiento']}"/>
                                </f:facet>
                                <p:calendar value="#{dto.fechaVencimiento}" timeZone="#{applicationMBean.timeZone}" pattern="#{applicationMBean.formatoFecha}" styleClass="txtCampo" disabled="#{sessionMBean.accion == 3}">
                                </p:calendar>
                            </p:column>
                        </p:dataTable>
                    </h:panelGrid>
                </p:panel>
            </h:form>
        </ui:define>
    </ui:composition>
</html>